/*
 *  param.h
 *  Ray Tracer
 *  Single file to keep track of all enums.
 *
 *  Created by Chirantan Ekbote on 10/8/10.
 *  Copyright 2010 Ohio State University. All rights reserved.
 *
 */

#ifndef _PARAM_H_
#define _PARAM_H_

#ifdef  __cplusplus
extern "C" {
#endif	// __cplusplus
	
#define TMIN				0.00001f
#define TMAX				100000
#define PI					3.14159265f
#define MAXDEPTH			10
#define AMBIENT_KA			0.2f
#define SHININESS			100
#define SP_REFRACT_INDEX	1.330f
#define CU_REFRACT_INDEX	1.222f
#define AIR_REFRACT_INDEX	1.0f
#define EPSILON				0.0001f
#define AREA_LIGHT_RADIUS	3.0f
#define NUM_SUPERSAMPLES	16
#define NUM_CAMERAS			50
#define CAMERA_JITTER		2.5f

typedef enum enumType{
	LENGTH,
	SPHERE,
	CUBE,
	TRIANGLE,
	POINT,
	AREA,
	SPOT
} enumType;
	
typedef struct param {
	int numSuperSamples;
	int shadows;
	float depthOfField;
	int numCameras;
	float cameraJitter;
	int useTextures;
} param;
	
#ifdef  __cplusplus
}
#endif	// __cplusplus
#endif	// _PARAM_H_